package study07;

import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

public class Java02_Reflect_class_loader {
    public static void main(String[] args) throws Exception {
//        反射 - 类加载器
//        加载类
//        Java 类分为三种
//        1、Java核心类库种的类: String, Object
//        2、JVM 软件平台开发商
//        3、自己写的类，User, Child
//        类加载器也有三种
//        1、BootClassLoader: 启动类加载器(加载类时，采用操作系统平台语言实现)
//        2、PlatformClassLoader: 平台类加载器
//        3、AppClassLoader: 应用类加载器

//        获取类的信息
        Class<Student> studentClass = Student.class;
        ClassLoader classLoader = studentClass.getClassLoader();
        System.out.println(classLoader);
//        加载Java核心类库 > 平台类库 > 自己类
        System.out.println(classLoader.getParent()); // 平台类库
        System.out.println(classLoader.getParent().getParent()); // Java核心类库

//        获取类的信息
        Class<String> stringClass = String.class;
        ClassLoader classLoader1 = stringClass.getClassLoader();
        System.out.println(classLoader1);
    }
}

class Student {

}
